Bingo, Computer Graphics & Game Developer

Experience of Web Develop

CentOS 7

修改SSH默认端口22

SSH远程登录部分可参见SSH原理与运用。具体终端命令可参见怎样修改 CentOS 7 SSH 端口, 本质为修改开放端口+防火墙修改

如若和我一样为阿里云服务器, 则需要找到控制台中的安全组规则,自定义的开放想要SSH连接的端口,否则在Xshell等工具中仍然无法连接。

QQ图片20180321174851

关闭账号密码登录

vi /etc/ssh/sshd_config

找到PasswordAuthentication yes,更改为no即可。此时再用一未信任的设备连接,可用终端命令登陆

ssh -p 22 hostName@address

提示以下错误信息则证明已无法直接通过账号密码直接登陆

Permission denied(publickey,gssapi-keyex,gssapi-with-mic).

Nginx搭建开发

Nginx的环境搭建可见Nginx Documentation,在配置SSH默认端口过程中可能将Nginx使用的默认80端口禁用,可参考Centos 7 firewall 命令在防火墙中打开对80的访问。

以免在服务器上预览开发效率过低,因此在本地也同时配置了Nginx,同时搭配Browsersync可以保证只要Web文件有修改时浏览器自动刷新,提高开发效率。

Nginx默认在80端口开放,因此启用代理模式可以实现类似Hexo主题开发中的效果。

browser-sync start --proxy "localhost:80" --files "**"

引号中的内容可更换为**.css等glob语法的正则表达式.

Git的自动化部署

Git的环境搭建可参见搭建Git服务器。由于更换了端口号,因此所有Git命令的对象都变为了类似git clone ssh://host@ip:port/xxx/xxx

在配置完Nginx后,为了能git push后将整个repo拷贝到Nginx的指定网页文件夹中(默认为Nginx/html), 可参考VPS服务器搭建Hexo博客教程中的安装配置git部分实现Git Hook的功能。

如若为Windows平台,可能遇到push后post-receive文件无法自动执行的问题,因为行尾Unix与Windows格式不一,可在Sublime或其他文本编辑器中修改行尾为UNIX即可解决(其他无法执行原因可直接执行该脚本查看)

具体可以参考bad interpreter: No such file or directory